package com.demo.java.OD501_550.OD510;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【运输时间(C卷-100分)】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/146479042
 */
public class OdMain {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 解析输入的 M 和 N
        int[] params = split(in.nextLine(), " ");
        int M = params[0];  // 车辆数量
        int N = params[1];  // 起点到终点的距离

        int[] cars = new int[M];  // 记录每辆车的初始速度
        for (int i = 0; i < M; i++) {
            cars[i] = Integer.parseInt(in.nextLine());  // 输入每辆车的初始速度
        }

        double result = 0;  // 用于存储最终计算的时间

        // 从第一辆车开始，逐车计算时间
        int i = 0;
        while (true) {
            if (i >= M) {
                // 输出最终的行驶时间
                System.out.println(result);
                break;
            } else {
                if (i == 0) {
                    // 第一辆车直接按照给定速度行驶
                    result = (double) N / cars[i];
                } else if (result <= (double) N / cars[i] + 1) {
                    // 后续车辆的速度不超过前车的速度
                    result = (double) N / cars[i];
                } else {
                    // 如果后续车辆的速度超过前车，减去时间
                    result = result - 1;
                }
            }
            i += 1;  // 继续处理下一辆车
        }
    }

    // 辅助函数，用于将输入的字符串按照指定分隔符转换为整数数组
    public static int[] split(String input_str, String chars) {
        String[] tmp2 = input_str.split(chars);  // 按照指定的字符分割输入字符串
        int[] counts = new int[tmp2.length];  // 创建整数数组
        for (int i = 0; i < tmp2.length; i++) {
            counts[i] = Integer.parseInt(tmp2[i]);  // 转换为整数
        }
        return counts;  // 返回整数数组
    }
}